終於阿~終於阿~又到了一個里程碑了,我好忙阿~(來自深淵的吶喊~~),但好開心啊,過得好充實,這才是我要的人生!!(有人想要一起學的嗎🤣🤣
題目:ARMssembly 0
$ sudo apt install binutils-aarch64-linux-gnu -y
$ sudo apt install gcc-aarch64-linux-gnu -y
$ aarch64-linux-gnu-as -o chall.o chall.S
$ aarch64-linux-gnu-gcc -static -o chall chall.o
$ sudo apt install qemu-user-static
$ ./chall 3854998744 915131509 ( 好像每個人都不一樣 )
有想了解這個深淵的,再繼續看下去吧!!
$ sudo apt install binutils-aarch64-linux-gnu -y
// 這行安裝了 aarch64 架構的 GNU Binutils 工具集。
// Binutils 包含了彙編器、連結器等工具,是編譯工具鏈的一部分。
$ sudo apt install gcc-aarch64-linux-gnu -y
//這行安裝了 aarch64 (64位ARM) 架構的 GNU C 編譯器。這樣你就可以在你的電腦上編譯出可以在 ARM 64位架構的 Linux 系統上運行的程式。(但前面說過了這個還是不行,所以還要再下載其他的,待會會說
$ aarch64-linux-gnu-as -o chall.o chall.S
// 會將組合語言程式碼檔(.s)轉成目標檔案(Object File)的 .o 檔(由0,1組成)
$ aarch64-linux-gnu-gcc -static -o chall chall.o
在這裡我們知道linux不支援ARMv8(不信的自己試試😏😏
所以無法用dynamic所以選擇-static$ sudo apt install qemu-user-static
這行是為了下載一個可以直接執行ARMv8的一個環境
下載完後就可以./ARMv8的ELF檔了
後記:
第二種--明天再說😏😏這篇好好讀啊滿滿的點我有參考一些大佬的文章(怕我自己理解錯
我最後會貼一些連結建議可以先讀,還蠻厲害有趣的,好希望成為他們啊啊啊啊~~
為什麼我不是大佬啊啊啊!!!
連結區:
https://ithelp.ithome.com.tw/articles/10351735 (他說得蠻詳細的)
https://github.com/joebobmiles/ARMv8ViaLinuxCommandline (幾乎1比1了,但要注意我有加一行)
https://hackmd.io/@SBK6401/r1t0xvzF2#fn1 (那一行來自這裡)
真的好希望有天可以追上他們~~~~